﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SqueezeboxLib
{
    public class ShowTaggedParameter : TaggedParameter
    {
        public enum AcceptedTags
        {
            /// <summary>
            /// First line of the display.
            /// </summary>
            line1,

            /// <summary>
            /// Second line of the display. 
            /// This is the line used for single line display mode (font = huge).
            /// </summary>
            line2,

            /// <summary>
            /// Time in seconds to display the message; 
            /// this time does not take into account any scrolling time necessary, 
            /// which will be performed to its completion. The default is 3 seconds.
            /// </summary>
            duration,

            /// <summary>
            /// Brightness to use to display the message, 
            /// either 'powerOn', 'powerOff', 'idle' or a value from 0 to 4. 
            /// The default value is 4. 
            /// The display brightness is reset to its configured value after the message.
            /// </summary>
            brightness,

            /// <summary>
            /// Use value "huge" to have line2 displayed on a large font using the entire display. 
            /// The actual font used depends on the player model.
            /// Otherwise the command uses the standard, 2 lines display font.
            /// </summary>
            font,

            /// <summary>
            /// Use value "1" to center the lines on the display. 
            /// There is no scrolling in centered mode.
            /// </summary>
            centered,

            /// <summary>
            /// Character set to use for the data. 
            /// </summary>
            charset
        }

        public ShowTaggedParameter(AcceptedTags tag, string parameter) :
            base(tag.ToString(), parameter)
        { }
    }
}
